using System;
using System.Collections.Generic;
using System.Text;

namespace LuaNetInterface
{
    /// <summary>
    /// This class defines an attribute to register a Lua package.
    /// </summary>
    /// <remarks>This is typically used as an attribute on a class definition.</remarks>
    public class LuaPackageAttribute : Attribute
    {
        #region Data Members
        /// <summary>
        /// The name of the package.
        /// </summary>
        private string _name;

        /// <summary>
        /// The documentation attached to the package.
        /// </summary>
        private string _documentation;
        #endregion

        #region Properties
        /// <summary>
        /// Gets the name of the package.
        /// </summary>
        public string Name
        {
            get { return _name; }
        }

        /// <summary>
        /// Gets the documentation attached to the package.
        /// </summary>
        public string Documentation
        {
            get { return _documentation; }
        }
        #endregion

        #region Methods
        /// <summary>
        /// Creates a Lua package attribute and assigns a name and documentation to the package.
        /// </summary>
        /// <param name="name">
        /// The name of the package. If this is null, it will be part of the "global" package.
        /// </param>
        /// <param name="documentation">The documentation attached to the package.</param>
        public LuaPackageAttribute(string name, string documentation)
        {
            _name = name;
            _documentation = documentation;
        }
        #endregion
    }
}
